home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part1 / 7206 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  3.6 KB

  1. Path: goanna.cs.rmit.EDU.AU!not-for-mail
  2. From: ok@goanna.cs.rmit.EDU.AU (Richard A. O'Keefe)
  3. Newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++
  4. Subject: Re: C/C++ knocks the crap out of Ada
  5. Date: 22 Feb 1996 15:47:42 +1100
  6. Organization: Comp Sci, RMIT, Melbourne, Australia
  7. Message-ID: <4ggshe$7bk@goanna.cs.rmit.EDU.AU>
  8. References: <00001a73+00002504@msn.com> <4etcmm$lpd@nova.dimensional.com>   <312515DF.7D3B@cmlj.demon.co.uk> <4gad29$ddp@druid.borland.com>
  9. NNTP-Posting-Host: goanna.cs.rmit.edu.au
  10. X-Newsreader: NN version 6.5.0 #0 (NOV)
  11.  
  12. In article <312515DF.7D3B@cmlj.demon.co.uk>, chris@cmlj.demon.co.uk says...
  13. >With regards to maintenance, there's many people out there who consider 
  14. >C/C++ a Write only language.
  15.  
  16. pete@borland.com (Pete Becker) writes:
  17. >How many of the people who say this have actually used C++ enough to 
  18. >understand it?
  19.  
  20. (1) Almost any programming language is going to be called "write-only" by
  21.     people who have not worked with it for a bit.
  22.  
  23. (2) "Notation as a tool of thought": there are some really brilliant notations
  24.     which can actually help you think more clearly about some things.  APL is
  25.     a case in point:  I have found it a very powerful notation for a small
  26.     class of problems; within that class trying to keep it simple often led
  27.     me to a specification with fewer "rough edges".  The notation could be
  28.     abused; it often was abused; and it was limited.  Mathematical notation
  29.     in general can be concise, verbose, revealing, hopelessly obscure.  You
  30.     have to combine even the best notation with a sense of elegance and some
  31.     consideration for your readers.
  32.  
  33. (3) Precisely because they are popular, C and C++ are used by a lot of
  34.     programmers who shouldn't be allowed near a keyboard without a helmet
  35.     and padded knees.  There is a lot of extremely bad C and C++ code.
  36.     It is easy for a language to get a bad reputation when nearly every
  37.     book you see has dreadful code in it.
  38.  
  39. (4) C++ in particular has been changing very rapidly.  It seems as if every
  40.     time I turn around there is a new keyword.  I was looking at some code
  41.     fragments today in a book; they were full of things like
  42.     void HelpIndex () (RTMessage) = [CM_FIRST+CM_HelpIndex];
  43.     I've used three C++ compilers, read every book with "Stroustrup" on it,
  44.     and keep on browsing through the draft standard, and haven't the foggiest
  45.     notion what this is supposed to do.  If a few keywords had been used
  46.     instead of punctuation marks, I might have been able to figure it out...
  47.     Conversely, there's a program I was given in 1988, written in C++, that
  48.     I haven't been able to compile for years, so today's _compilers_ think
  49.     it isn't "readable" (sad smiley).
  50.  
  51. (5) Let's be clear about the goals and accomplishments of C++.
  52.     It was designed to make it easy for skilled programmers to WRITE large
  53.     object-oriented programs.  It is obvious to any fair observer that it
  54.     has accomplished these goals.  It was _not_ designed with readability,
  55.     formal verification, or protecting idiots from themselves in mind.
  56.  
  57. (6) In the world of software engineering, easy to read is better than easy
  58.     to write, even Homer nods to protecting idiots like me from ourselves
  59.     is thought to be important, and some level of verifiability is thought
  60.     to be a Good Thing.  (Come to think of it, the way Alphard 'form's
  61.     were annotated should carry over nicely to C++ classes, so how come
  62.     such annotations are so rare in the code I've seen?)
  63.     
  64. (7) Intentionally left blank.
  65. -- 
  66. Election time; but how to get Labor _out_ without letting Liberal _in_?
  67. Richard A. O'Keefe; http://www.cs.rmit.edu.au/~ok; RMIT Comp.Sci.
  68.